#ifndef HANDLER_CLIENT_H
#define HANDLER_CLIENT_H
#include "../tlv/tlv.h"
#include "get_file_md5char/get_file_md5char.h"
#include "../all_header.h"
//接收客户命令的结构体
typedef struct stdin_msg_s{
    int type;
    char value[4096];
}stdin_msg_t;
//处理传输命令的结构体
typedef enum trans_command_s{

    DATA_CHUNK = 51,// 表述数据块
    DATA_END = 52,//表示数据传输结束
    THE_MD5_VALUE = 53,//puts文件时，发送文件的md5值
    GETS_FILE_EXIST = 54,//表示下载文件存在
    GETS_FILE_NOEXIST = 55,//表示下载文件不存在
    PUTS_FILE_EXIST = 56,//表示上传文件已存在(妙传功能)
    PUTS_FILE_NOEXIST = 57//表示上传文件已存在(妙传功能)

}trans_command_t;
//任务分配函数
int stdinCommand(int sockfd,stdin_msg_t stdin_msg);

//-----------以下是命令执行函数-----------------
int stdin_cd(int sockfd,stdin_msg_t stdin_msg);
int stdin_ls(int sockfd,stdin_msg_t stdin_msg);
int stdin_pwd(int sockfd,stdin_msg_t stdin_msg);
int stdin_quit(int sockfd,stdin_msg_t stdin_msg);
int stdin_mkdir(int sockfd,stdin_msg_t stdin_msg);
int stdin_rmdir(int sockfd,stdin_msg_t stdin_msg);
//上传文件
int stdin_puts(int sockfd,stdin_msg_t msg);
//下载文件
int stdin_gets(int sockfd,stdin_msg_t msg);
//关闭连接
int stdin_close(int sockfd,stdin_msg_t stdin_msg);

#endif
